package com.knowledge.plus.other;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;

/**
 * 变量声明及初始化
 *
 * @author TPF
 * @since 2023/8/16
 */
public class 变量声明及初始化 {

    /**
     * 注意：数组的长度在初始化时必须指定，并且一旦指定后就不能改变。
     * 对于引用类型的数组（如String[]），初始化时数组的每个元素默认都是null。
     * 对于基本类型的数组（如int[]），数组的每个元素默认都是对应类型的默认值（如int类型的默认值为0）
     */
    @Test
    public void var() {
        int[] array1 = {6, 7, 8, 9, 10};
        int[] array2 = new int[]{6, 7, 8, 9, 10};
        Integer[] array3 = new Integer[]{6, 7, 8, 9, 10};

        List<Integer> d = Arrays.asList(1, 3, 5, 76);

        // 填充数组array6的所有元素为10
        int[] array6 = new int[5];
        Arrays.fill(array6, 10);

        // 生成包含1到5的数组
        int[] array7 = IntStream.rangeClosed(1, 5).toArray();

        List<Integer> c = new ArrayList<Integer>() {
            private static final long serialVersionUID = 8538230422576345748L;

            {
                add(1);
                add(2);
            }
        };

    }

}
